Refactoring Java So ware Product Lines

نویسندگان

  • Jongwook Kim
  • Don Batory
  • Danny Dig
چکیده

Refactoring is a staple of Object-Oriented (OO) program development. It should be a staple of OO Software Product Line (SPL) development too. X15 is the rst tool to support the refactoring of Java SPL codebases. X15 (1) uses Java custom annotations to encode variability in feature-based Java SPLs, (2) projects a view of a SPL product (a program that corresponds to a legal SPL con guration), and (3) allows programmers to edit and refactor the product, propagating changes back to the SPL codebase. Case studies apply 2316 refactorings in 8 public Java SPLs and show that X15 is as e cient, expressive, and scalable as a state-of-the-art feature-unaware Java refactoring engine.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Refactoring and Retrofitting Design Patterns in Java Software Product Lines

A centerpiece of modern software development is refactoring. Software Product Lines (SPLs), a major software development paradigm, lack tools to refactor Java SPL codebases. X15 introduces our new set of design guidelines, techniques, and language constructs to (1) express feature-based Java SPLs using only Java custom annotations, (2) view programs of the SPL, (3) edit views, automatically pro...

متن کامل

Refactoring Delta-Oriented Product Lines to achieve Monotonicity

Delta-oriented programming (DOP) is a flexible transformational approach to implement software product lines. In delta-oriented product lines, variants are generated by applying operations contained in delta modules to a (possibly empty) base program. These operations can add, remove or modify named elements in a program (e.g., classes, methods and fields in a Java program). This paper presents...

متن کامل

Bridging the Gap Between Functional and Imperative Programming through Refactoring

We present a technique that shows it is feasible to automatically refactor imperative code to a functional style. Our technique is implemented and integrated in the official release of the NetBeans IDE. Java 8 introduces two functional features: lambda expressions and functional operations like map or filter that apply a lambda expression over the elements of a Collection. Refactoring existing ...

متن کامل

Refactoring Java Programs using Spoon

TTC’2015 is the 8th Transformation Tool Contest for users and developers of transformation tools. In this paper, we present the use of Spoon, an open-source library to transform and analyze Java source code for the code refactoring track of TTC’2015. We use Spoon to implement pull-up-method and create super-class refactorings. The implementation uses an unmodified revision of Spoon and is done ...

متن کامل

Continuous Refactoring of a Java Server Application

The Invoice20one Server is a server application written in Java providing digital signatures for electronic invoices. The application design was based on the service architecture of the Jakarta Turbine framework. Extending the product portfolio required a continuous refactoring of the existing code base, which resulted in a light-weight Avalon container now part of the Jakarta Fulcrum project. ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017